home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / MPW_Only / Interfaces / CIncludes / setjmp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-01-17  |  926 b   |  46 lines  |  [TEXT/MPS ]

  1. /*
  2.    SetJmp.h
  3.  
  4.    Copyright Apple Computer, Inc.    1986-1990, 1993-1995
  5.    All rights reserved.
  6.  */
  7.  
  8.  
  9. #ifndef __SETJMP__
  10. #define __SETJMP__
  11.  
  12. #ifdef __CFM68K__
  13.     /* We MUST use the new, larger jmp_buf for CFM-68K */
  14.     #undef OLD_JMPBUF
  15. #endif
  16.  
  17. #if defined (powerc)
  18.     typedef long *jmp_buf[64];      /*  PowerPC:  LR,CR,SP,TOC,RESVD,R13-R31,FP14-FP31,FPSCR,RESVD,RESVD  */
  19. #elif defined (OLD_JMPBUF)
  20.     typedef long *jmp_buf[12];        /*    old 68K:  D2-D7,PC,A2-A4,A6,SP  */
  21. #else
  22.     typedef long *jmp_buf[16];        /*    new 68K:  D2-D7,PC,A2-A4,A6,SP,FLAGS,A5,RESVD,RESVD  */
  23. #endif
  24.  
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif
  28.  
  29. #if defined (__powerc) || defined (powerc) || defined (__CFM68K__)
  30.     #pragma import on
  31. #endif
  32.  
  33. int __setjmp(jmp_buf env);
  34. #define setjmp(env) __setjmp(env)
  35. void longjmp(jmp_buf env, int val);
  36.  
  37. #if defined (__powerc) || defined (powerc) || defined (__CFM68K__)
  38.     #pragma import off
  39. #endif
  40.  
  41. #ifdef __cplusplus
  42. }
  43. #endif
  44.  
  45. #endif
  46.